--- /dev/null
+// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
+
+const Gio = imports.gi.Gio;
+
+const PermissionStoreIface = '<node> \
+ <interface name="org.freedesktop.impl.portal.PermissionStore"> \
+ <method name="Lookup"> \
+ <arg name="table" type="s" direction="in"/> \
+ <arg name="id" type="s" direction="in"/> \
+ <arg name="permissions" type="a{sas}" direction="out"/> \
+ <arg name="data" type="v" direction="out"/> \
+ </method> \
+ <method name="Set"> \
+ <arg name="table" type="s" direction="in"/> \
+ <arg name="create" type="b" direction="in"/> \
+ <arg name="id" type="s" direction="in"/> \
+ <arg name="app_permissions" type="a{sas}" direction="in"/> \
+ <arg name="data" type="v" direction="in"/> \
+ </method> \
+ </interface> \
+</node>';
+
+const PermissionStoreProxy = Gio.DBusProxy.makeProxyWrapper(PermissionStoreIface);
+
+function PermissionStore(initCallback, cancellable) {
+ return new PermissionStoreProxy(Gio.DBus.session,
+ 'org.freedesktop.impl.portal.PermissionStore',
+ '/org/freedesktop/impl/portal/PermissionStore',
+ initCallback, cancellable);
+};
const PanelMenu = imports.ui.panelMenu;
const PopupMenu = imports.ui.popupMenu;
const ModalDialog = imports.ui.modalDialog;
+const PermissionStore = imports.misc.permissionStore;
const Shell = imports.gi.Shell;
const Signals = imports.signals;
const St = imports.gi.St;
</interface> \
</node>';
-var PermissionStoreIface = '<node> \
- <interface name="org.freedesktop.impl.portal.PermissionStore"> \
- <method name="Lookup"> \
- <arg name="table" type="s" direction="in"/> \
- <arg name="id" type="s" direction="in"/> \
- <arg name="permissions" type="a{sas}" direction="out"/> \
- <arg name="data" type="v" direction="out"/> \
- </method> \
- <method name="Set"> \
- <arg name="table" type="s" direction="in"/> \
- <arg name="create" type="b" direction="in"/> \
- <arg name="id" type="s" direction="in"/> \
- <arg name="app_permissions" type="a{sas}" direction="in"/> \
- <arg name="data" type="v" direction="in"/> \
- </method> \
- </interface> \
-</node>';
-
-const PermissionStore = Gio.DBusProxy.makeProxyWrapper(PermissionStoreIface);
-
const Indicator = new Lang.Class({
Name: 'LocationIndicator',
Extends: PanelMenu.SystemIndicator,
_connectToPermissionStore: function() {
this._permStoreProxy = null;
- new PermissionStore(Gio.DBus.session,
- 'org.freedesktop.impl.portal.PermissionStore',
- '/org/freedesktop/impl/portal/PermissionStore',
- Lang.bind(this, this._onPermStoreProxyReady));
+ new PermissionStore.PermissionStore(Lang.bind(this, this._onPermStoreProxyReady), null);
},
_onPermStoreProxyReady: function(proxy, error) {